Web Fetch API

Web Development - জাভাস্ক্রিপ্ট (JavaScript) জাভাস্ক্রিপ্ট ওয়েব এপিআই (JS Web API) |
270
270

Fetch API একটি আধুনিক JavaScript API যা ব্রাউজারের মাধ্যমে HTTP রিকুয়েস্ট তৈরি এবং পরিচালনা করতে ব্যবহৃত হয়। এটি মূলত XMLHttpRequest এর বিকল্প এবং AJAX এর জন্য আরও সহজ, দ্রুত, এবং কার্যকর পদ্ধতি সরবরাহ করে। Fetch API অ্যাসিঙ্ক্রোনাস কাজের জন্য প্রমিস (Promise) ভিত্তিক, যা কোডকে আরও পরিষ্কার ও পাঠযোগ্য করে তোলে।

Fetch API সাধারণত সার্ভার থেকে ডেটা ফেচ (fetch) করা বা সার্ভারে ডেটা পাঠানোর জন্য ব্যবহৃত হয়।


Fetch API এর বৈশিষ্ট্য

  1. Promise ভিত্তিক: Fetch API প্রমিস ব্যবহার করে কাজ করে, যা অ্যাসিঙ্ক্রোনাস অপারেশন হ্যান্ডল করতে সহজ।
  2. JSON ডেটা সহজে হ্যান্ডল: Fetch API JSON ফরম্যাটে ডেটা রিসিভ এবং পাঠানোর কাজ সহজ করে।
  3. ব্রাউজার সমর্থন: Fetch API আধুনিক ব্রাউজারগুলিতে সমর্থিত, তবে পুরোনো ব্রাউজারগুলির জন্য পলিফিল ব্যবহার করা প্রয়োজন।
  4. বৈশ্বিক (Global) স্কোপ: Fetch API ব্রাউজারের গ্লোবাল স্কোপ থেকে সরাসরি অ্যাক্সেস করা যায়।

Fetch API ব্যবহার

১. GET রিকুয়েস্ট

GET রিকুয়েস্ট ব্যবহার করে সার্ভার থেকে ডেটা ফেচ করার উদাহরণ:

fetch('https://jsonplaceholder.typicode.com/posts')
    .then(response => response.json())  // রেসপন্সকে JSON এ রূপান্তর
    .then(data => console.log(data))    // ডেটা ব্যবহার
    .catch(error => console.error('Error:', error));  // ত্রুটি হ্যান্ডল

এখানে:

  • fetch() একটি HTTP GET রিকুয়েস্ট করে।
  • response.json() ব্যবহার করে JSON ফরম্যাটে ডেটা রূপান্তর করা হয়।
  • then() এর মাধ্যমে প্রাপ্ত ডেটা প্রসেস করা হয়।
  • catch() ব্যবহার করে ত্রুটি হ্যান্ডল করা হয়।

২. POST রিকুয়েস্ট

POST রিকুয়েস্ট ব্যবহার করে সার্ভারে ডেটা পাঠানোর উদাহরণ:

fetch('https://jsonplaceholder.typicode.com/posts', {
    method: 'POST',  // POST মেথড নির্ধারণ
    headers: {
        'Content-Type': 'application/json'  // JSON ডেটা ফরম্যাট নির্ধারণ
    },
    body: JSON.stringify({
        title: 'foo',
        body: 'bar',
        userId: 1
    })
})
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));

এখানে:

  • method হিসাবে POST ব্যবহার করা হয়েছে।
  • headers সেট করা হয়েছে ডেটার ধরন নির্ধারণ করতে।
  • body অংশে ডেটা JSON ফরম্যাটে পাঠানো হয়েছে।

৩. PUT রিকুয়েস্ট

PUT রিকুয়েস্ট ব্যবহার করে বিদ্যমান ডেটা আপডেট করার উদাহরণ:

fetch('https://jsonplaceholder.typicode.com/posts/1', {
    method: 'PUT',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        id: 1,
        title: 'updated title',
        body: 'updated body',
        userId: 1
    })
})
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));

৪. DELETE রিকুয়েস্ট

DELETE রিকুয়েস্ট ব্যবহার করে ডেটা মুছে ফেলার উদাহরণ:

fetch('https://jsonplaceholder.typicode.com/posts/1', {
    method: 'DELETE'
})
    .then(response => {
        if (response.ok) {
            console.log('Delete successful');
        }
    })
    .catch(error => console.error('Error:', error));

এখানে, response.ok চেক করা হয়েছে রিকুয়েস্ট সফল কিনা তা নির্ধারণ করতে।


Fetch API এর সুবিধা

  1. পাঠযোগ্য এবং পরিষ্কার কোড: Fetch API এর প্রমিস ভিত্তিক প্রকৃতি কোডকে আরো পাঠযোগ্য করে তোলে।
  2. বিল্ট-ইন JSON সাপোর্ট: JSON ডেটা হ্যান্ডলিং Fetch API দিয়ে সহজ।
  3. এ্যাসিঙ্ক্রোনাস অপারেশন: Fetch API সিঙ্ক্রোনাস কার্যক্রম এড়িয়ে অ্যাসিঙ্ক্রোনাস অপারেশনে সক্ষম।
  4. HTTP রিকুয়েস্টের জন্য বহুমুখী সমর্থন: GET, POST, PUT, DELETE ইত্যাদি সব HTTP মেথড সহজেই পরিচালনা করা যায়।

Fetch API এর সীমাবদ্ধতা

  1. ত্রুটি পরিচালনা: Fetch API নেটওয়ার্কের ত্রুটি হ্যান্ডল করে, তবে HTTP ত্রুটিগুলি (যেমন 404, 500) catch() এ ধরা যায় না।
  2. পুরোনো ব্রাউজারে সীমিত সমর্থন: Internet Explorer Fetch API সমর্থন করে না।
  3. প্রমিস ভিত্তিক চেইনিং: অনেক বেশি .then() ব্যবহার করলে কোড জটিল হয়ে যেতে পারে।

সারাংশ

Fetch API একটি আধুনিক এবং সহজ পদ্ধতি HTTP রিকুয়েস্ট পরিচালনা করার জন্য। এটি JSON ডেটা হ্যান্ডলিং, অ্যাসিঙ্ক্রোনাস কাজ, এবং বিভিন্ন HTTP মেথড সমর্থন করে, যা ডেভেলপারদের ওয়েব অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে। যদিও এটি কিছু সীমাবদ্ধতা সহ আসে, Fetch API আজকের সময়ে AJAX এর একটি প্রধান বিকল্প এবং জাভাস্ক্রিপ্ট ডেভেলপমেন্টের একটি গুরুত্বপূর্ণ অংশ।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion